package zack.project.domain.strategy.service.rule.tree;

import zack.project.domain.strategy.service.rule.tree.factory.DefaultTreeFactory;

import java.util.Date;

/**
 * @author A1793
 */
public interface ILogicTreeNode {
     /**
      * 根据该用户的userId和活动的策略id，抽奖的奖品id，规则树节点配置的规则值进行过滤
      * @param userId
      * @param strategyId
      * @param awardId
      * @param ruleValue
      * @param endDateTime
      * @return
      */
     DefaultTreeFactory.TreeActionEntity logic(String userId,
                                               Long strategyId,
                                               Integer awardId,
                                               String ruleValue,
                                               Date endDateTime);

}
